The present invention relates generally to administration systems for computer networks. More particularly the invention relates to an automated system for implementing network administration policies on local area networks and wide area networks.
Local area networks are usually managed by a network administrator who has responsibility for, among other things, making sure the network runs smoothly on a day to day basis and that the system can recover from any problems encountered. Network administrators will therefore perform regular preventative maintenance on the computer network hardware and data and will monitor the network for changing conditions in order to take specific actions in response to changing conditions. For example, at noon, the network administrator might back up certain key data (financial data, for example). In the evening, the network administrator might back up all changed data. Every Saturday the network administrator might back up all data. Thus, as can be seen, even simple preventative maintenance, such as backing up, can involve a variety of different permutations of procedures to be followed.
In performing the network administrative duties, the network administrator may also watch the network file space so that old data can be archived if the disks start becoming full. This might entail warning a user that he or she is using excessive disk space and that the user's data may need to be archived shortly, and performing the archiving operation if there is no response from the user. Alternatively, the network administrator might elect to implement a periodic archiving of data. For example, on a monthly basis the administrator may decide to archive all data that is over 120 days old.
By way of additional example, the administrator may perform data load balancing when it is discovered the some file servers are overloaded with files while others are underutilized. Similar load balancing operations may be performed on bridges, gateways and servers with respect to network traffic.
The process of deciding what regular operations should be performed are often written down in the form of policies. For example, a company may, by written policy, require that incremental backups of data are performed daily, with a complete backup performed weekly. The company may also require that file server disks be kept, for performance reasons, at less than 70% of full capacity. Typically the network administrator or a network operator working for the network administrator will be charged with carrying out these policies.
Performing the tasks dictated by a company's written policy may require the administrator or operator to monitor the state of the network and to perform a sequence of operations, depending on the state of the network as it changes. Additionally, the sequence of operations may change, depending on the outcome of previous operations performed or previous events. All of this can get quite complex and is subject to human error. Thus it would be highly desirable if the network policies could be carried out automatically by a preprogrammed series of instructions. However, because of the inherently interactive nature of many network administration policies it has not heretofore been possible to provide computer network systems with the programming necessary to automate the network administration task.
The present invention overcomes the deficiencies found in present-day computer network operating system software in order to provide a mechanism for automating the interactive network administration process. Accordingly, the invention provides a computer network policy implementation system utilizing an event-driven, multithreaded command language, which the network administrator or network operator can use to automate the company policies regarding network administration. Using the invention, a policy can be described as a collection or set of statements that direct the concurrent or parallel execution of the computer network programs in response to changing network states as signaled by events monitored within the network. The policies specify the conditions, as represented by network states, under which certain actions should be taken.